#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>


//int main()
//{
//	int m = 0;
//	int n = 0;
//	int max = 0;
//	scanf_s("%d %d", &m, &n);
//	int arr[2000];
//	for (int i = 0; i < n; i++)
//	{
//		scanf_s("%d ", &arr[i]);
//	}
//	for (int j = n; j < m + n; j++)
//	{
//		scanf_s("%d ", &arr[j]);
//	}
//	for (int t = 0; t < m + n; t++)
//	{
//		for (int p = t + 1; p < m + n; p++)
//		{
//			if (arr[t] > arr[p])
//			{
//				max = arr[t];
//				arr[t] = arr[p];
//				arr[p] = max;
//			}
//		}
//	}
//	for (int i = 0; i < m + n; i++)
//	{
//		printf("%d ", arr[i]);
//	}
//	return 0;
//}




//int main()
//{
//	int year = 0;
//	int math = 0;
//	while (scanf_s("%d %d", &year, &math) != EOF)
//		if (math % 2 == 1)
//		{
//			if (math < 8)
//				printf("%d\n", 31);
//			else
//				printf("%d\n", 30);
//	    }
//		else
//		{
//			if (math < 8)
//			{
//				if (math == 2 && ((year % 4 == 0 && year % 100 == 0) || year % 400 == 0))
//					printf("%d\n", 29);
//				else if (math == 2)
//					printf("%d\n", 28);
//				else
//					printf("%d\n", 30);
//			}
//			else
//				printf("%d", 31);
//		}
//	return 0;
//}




int main()
{
	int i = 0;
	for (i = 10000; i < 100000; i++)
	{
		if(i == ((i/10000)*(i%10000) + (i/1000)*(i%1000) + (i/100)*(i%100) + (i/10)*(i%10)))
			printf("%d ",i);
	}
	return 0;
}